Class: GOBL::Bill::Invoice
- Includes:
- Extensions::Bill::InvoiceHelper
- Defined in:
- lib/generated/gobl/bill/invoice.rb
Overview
Invoice represents a payment claim for goods or services supplied under conditions agreed between the supplier and the customer.
Constant Summary collapse
- SCHEMA_ID =
The Schema ID of the GOBL Invoice structure
'https://gobl.org/draft-0/bill/invoice'
- TYPE_ENUM =
Enumeration of possible values for #type with their corresponding descriptions
{ 'standard' => 'A regular commercial invoice document between a supplier and customer.', 'proforma' => 'For a clients validation before sending a final invoice.', 'corrective' => 'Corrected invoice that completely *replaces* the preceding document.', 'credit-note' => 'Reflects a refund either partial or complete of the preceding document. A credit note effectively *extends* the previous document.', 'debit-note' => 'An additional set of charges to be added to the preceding document.', 'other' => 'Any other type of invoice that does not fit into the standard categories and implies that any scenarios defined in tax regimes or addons will not be applied. This is useful for being able to create invoices with custom types in extensions, but is not recommend for general use.' }.freeze
Instance Attribute Summary collapse
-
#$addons($addons) ⇒ Array<GOBL::CBC::Key>
readonly
Addons defines a list of keys used to identify tax addons that apply special normalization, scenarios, and validation rules to a document.
- #$regime($regime) ⇒ GOBL::L10n::TaxCountryCode readonly
-
#$tags($tags) ⇒ Array<GOBL::CBC::Key>
readonly
Tags are used to help identify specific tax scenarios or requirements that will apply changes to the contents of the invoice.
-
#charges ⇒ Array<Charge>
readonly
Charges or surcharges applied to the complete invoice.
-
#code ⇒ GOBL::CBC::Code
readonly
Sequential code used to identify this invoice in tax declarations.
-
#complements ⇒ Array<GOBL::Schema::Object>
readonly
Additional complementary objects that add relevant information to the invoice.
-
#currency ⇒ GOBL::Currency::Code
readonly
Currency for all invoice totals.
-
#customer ⇒ GOBL::Org::Party
readonly
Legal entity receiving the goods or services, may be nil in certain circumstances such as simplified invoices.
-
#delivery ⇒ Delivery
readonly
Specific details on delivery of the goods referenced in the invoice.
-
#discounts ⇒ Array<Discount>
readonly
Discounts or allowances applied to the complete invoice.
-
#exchange_rates ⇒ Array<GOBL::Currency::ExchangeRate>
readonly
Exchange rates to be used when converting the invoices monetary values into other currencies.
-
#issue_date ⇒ GOBL::Cal::Date
readonly
When the invoice was created.
-
#lines ⇒ Array<Line>
readonly
List of invoice lines representing each of the items sold to the customer.
-
#meta ⇒ GOBL::CBC::Meta
readonly
Additional semi-structured data that doesn’t fit into the body of the invoice.
-
#notes ⇒ Array<GOBL::CBC::Note>
readonly
Unstructured information that is relevant to the invoice, such as correction or additional legal details.
-
#op_date ⇒ GOBL::Cal::Date
readonly
Date when the operation defined by the invoice became effective.
-
#ordering ⇒ Ordering
readonly
Ordering details including document references and buyer or seller parties.
-
#outlays ⇒ Array<Outlay>
readonly
Expenses paid for by the supplier but invoiced directly to the customer.
-
#payment ⇒ Payment
readonly
Information on when, how, and to whom the invoice should be paid.
-
#preceding ⇒ Array<GOBL::Org::DocumentRef>
readonly
Key information regarding previous invoices and potentially details as to why they were corrected.
-
#series ⇒ GOBL::CBC::Code
readonly
Used as a prefix to group codes.
-
#supplier ⇒ GOBL::Org::Party
readonly
The taxable entity supplying the goods or services.
-
#tax ⇒ Tax
readonly
Special tax configuration for billing.
-
#totals ⇒ Totals
readonly
Summary of all the invoice totals, including taxes (calculated).
-
#type ⇒ GOBL::CBC::Key
readonly
Type of invoice document subject to the requirements of the local tax regime.
-
#uuid ⇒ String
readonly
Universally Unique Identifier.
-
#value_date ⇒ GOBL::Cal::Date
readonly
When the taxes of this invoice become accountable, if none set, the issue date is used.
Method Summary
Methods included from Extensions::Bill::InvoiceHelper
Methods inherited from Object
Methods inherited from Struct
#as_json, from_data, from_json!, #to_json
Instance Attribute Details
#$addons($addons) ⇒ Array<GOBL::CBC::Key> (readonly)
Addons defines a list of keys used to identify tax addons that apply special normalization, scenarios, and validation rules to a document.
43 |
# File 'lib/generated/gobl/bill/invoice.rb', line 43 property :$addons, [GOBL::CBC::Key] |
#$regime($regime) ⇒ GOBL::L10n::TaxCountryCode (readonly)
37 |
# File 'lib/generated/gobl/bill/invoice.rb', line 37 property :$regime, GOBL::L10n::TaxCountryCode |
#$tags($tags) ⇒ Array<GOBL::CBC::Key> (readonly)
Tags are used to help identify specific tax scenarios or requirements that will apply changes to the contents of the invoice. Tags by design should always be optional, it should always be possible to build a valid invoice without any tags.
48 |
# File 'lib/generated/gobl/bill/invoice.rb', line 48 property :$tags, [GOBL::CBC::Key] |
#charges ⇒ Array<Charge> (readonly)
Charges or surcharges applied to the complete invoice
146 |
# File 'lib/generated/gobl/bill/invoice.rb', line 146 property :charges, [Charge] |
#code ⇒ GOBL::CBC::Code (readonly)
Sequential code used to identify this invoice in tax declarations.
84 |
# File 'lib/generated/gobl/bill/invoice.rb', line 84 property :code, GOBL::CBC::Code |
#complements ⇒ Array<GOBL::Schema::Object> (readonly)
Additional complementary objects that add relevant information to the invoice.
181 |
# File 'lib/generated/gobl/bill/invoice.rb', line 181 property :complements, [GOBL::Schema::Object] |
#currency ⇒ GOBL::Currency::Code (readonly)
Currency for all invoice totals.
105 |
# File 'lib/generated/gobl/bill/invoice.rb', line 105 property :currency, GOBL::Currency::Code |
#customer ⇒ GOBL::Org::Party (readonly)
Legal entity receiving the goods or services, may be nil in certain circumstances such as simplified invoices.
131 |
# File 'lib/generated/gobl/bill/invoice.rb', line 131 property :customer, GOBL::Org::Party |
#delivery ⇒ Delivery (readonly)
Specific details on delivery of the goods referenced in the invoice.
166 |
# File 'lib/generated/gobl/bill/invoice.rb', line 166 property :delivery, Delivery |
#discounts ⇒ Array<Discount> (readonly)
Discounts or allowances applied to the complete invoice
141 |
# File 'lib/generated/gobl/bill/invoice.rb', line 141 property :discounts, [Discount] |
#exchange_rates ⇒ Array<GOBL::Currency::ExchangeRate> (readonly)
Exchange rates to be used when converting the invoices monetary values into other currencies.
110 |
# File 'lib/generated/gobl/bill/invoice.rb', line 110 property :exchange_rates, [GOBL::Currency::ExchangeRate] |
#issue_date ⇒ GOBL::Cal::Date (readonly)
When the invoice was created.
90 |
# File 'lib/generated/gobl/bill/invoice.rb', line 90 property :issue_date, GOBL::Cal::Date |
#lines ⇒ Array<Line> (readonly)
List of invoice lines representing each of the items sold to the customer.
136 |
# File 'lib/generated/gobl/bill/invoice.rb', line 136 property :lines, [Line] |
#meta ⇒ GOBL::CBC::Meta (readonly)
Additional semi-structured data that doesn’t fit into the body of the invoice.
186 |
# File 'lib/generated/gobl/bill/invoice.rb', line 186 property :meta, GOBL::CBC::Meta |
#notes ⇒ Array<GOBL::CBC::Note> (readonly)
Unstructured information that is relevant to the invoice, such as correction or additional legal details.
176 |
# File 'lib/generated/gobl/bill/invoice.rb', line 176 property :notes, [GOBL::CBC::Note] |
#op_date ⇒ GOBL::Cal::Date (readonly)
Date when the operation defined by the invoice became effective.
95 |
# File 'lib/generated/gobl/bill/invoice.rb', line 95 property :op_date, GOBL::Cal::Date |
#ordering ⇒ Ordering (readonly)
Ordering details including document references and buyer or seller parties.
156 |
# File 'lib/generated/gobl/bill/invoice.rb', line 156 property :ordering, Ordering |
#outlays ⇒ Array<Outlay> (readonly)
Expenses paid for by the supplier but invoiced directly to the customer.
151 |
# File 'lib/generated/gobl/bill/invoice.rb', line 151 property :outlays, [Outlay] |
#payment ⇒ Payment (readonly)
Information on when, how, and to whom the invoice should be paid.
161 |
# File 'lib/generated/gobl/bill/invoice.rb', line 161 property :payment, Payment |
#preceding ⇒ Array<GOBL::Org::DocumentRef> (readonly)
Key information regarding previous invoices and potentially details as to why they were corrected.
115 |
# File 'lib/generated/gobl/bill/invoice.rb', line 115 property :preceding, [GOBL::Org::DocumentRef] |
#series ⇒ GOBL::CBC::Code (readonly)
Used as a prefix to group codes.
79 |
# File 'lib/generated/gobl/bill/invoice.rb', line 79 property :series, GOBL::CBC::Code |
#supplier ⇒ GOBL::Org::Party (readonly)
The taxable entity supplying the goods or services.
125 |
# File 'lib/generated/gobl/bill/invoice.rb', line 125 property :supplier, GOBL::Org::Party |
#tax ⇒ Tax (readonly)
Special tax configuration for billing.
120 |
# File 'lib/generated/gobl/bill/invoice.rb', line 120 property :tax, Tax |
#totals ⇒ Totals (readonly)
Summary of all the invoice totals, including taxes (calculated).
171 |
# File 'lib/generated/gobl/bill/invoice.rb', line 171 property :totals, Totals |
#type ⇒ GOBL::CBC::Key (readonly)
Type of invoice document subject to the requirements of the local tax regime.
73 |
# File 'lib/generated/gobl/bill/invoice.rb', line 73 property :type, GOBL::CBC::Key |
#uuid ⇒ String (readonly)
Universally Unique Identifier.
53 |
# File 'lib/generated/gobl/bill/invoice.rb', line 53 property :uuid, String |
#value_date ⇒ GOBL::Cal::Date (readonly)
When the taxes of this invoice become accountable, if none set, the issue date is used.
100 |
# File 'lib/generated/gobl/bill/invoice.rb', line 100 property :value_date, GOBL::Cal::Date |